home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / RxMUI / Examples / Numeric.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2004-01-31  |  4.3 KB  |  154 lines

  1. /**/
  2.  
  3. signal on halt
  4. signal on break_c
  5.  
  6. call Init()
  7. call createApp()
  8. call handleApp()
  9. /* never reached */
  10. /***********************************************************************/
  11. Init: procedure
  12.     l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  13.     if AddLibrary("rexxsupport.library","rxmui.library")~=0 then exit
  14.     return
  15. /***********************************************************************/
  16. handleApp: procedure
  17.     ctrl_c=2**12
  18.     do forever
  19.         call NewHandle("APP","H",ctrl_c)
  20.         if and(h.signals,ctrl_c)>0 then exit
  21.         select
  22.             when h.event="QUIT" then exit
  23.             otherwise interpret h.event
  24.         end
  25.     end
  26. /* never reached */
  27. /***********************************************************************/
  28. err: procedure expose sigl RxMUIError
  29. parse arg res
  30.     msg = ProgramName()":" GetRxMUIString(res) "in line" sigl-1
  31.     if RxMUIError~="RXMUIERROR" then msg = msg "["RxMUIError"]"
  32.     say msg
  33.     exit
  34. /***********************************************************************/
  35. createApp: procedure
  36.  
  37.     minv=0
  38.     maxv=100
  39.     defv=50
  40.  
  41.     app.Title="NumericExample"
  42.     app.Version="$VER: NumericExample 1.1 (25.1.2002)"
  43.     app.Copyright="©2002 by alfie"
  44.     app.Author="alfie"
  45.     app.Description="Numeric example"
  46.     app.Base="NUMERICEXAMPLE"
  47.     app.SubWindow="mwin"
  48.  
  49.      mwin.ID="MWIN"
  50.      mwin.Title="Numeric example"
  51.      mwin.Contents="mgroup"
  52.  
  53.       mgroup.0="ng"
  54.        ng.class="group"
  55.        ng.frame="group"
  56.        ng.columns=2
  57.  
  58.         call child("ng",label("Levelmeter"))
  59.         call child("ng","lg","group")
  60.          lg.horiz=1
  61.          lg.0="levelmeter"
  62.           levelmeter.class="levelmeter"
  63.           levelmeter.min=minv
  64.           levelmeter.max=maxv
  65.           levelmeter.value=defv
  66.           levelmeter.label="Level"
  67.          lg.1=hspace()
  68.  
  69.         call child("ng",label("_Knob"))
  70.         call child("ng","kg","group")
  71.          kg.horiz=1
  72.          kg.0="knob"
  73.           knob.class="knob"
  74.           knob.controlChar="k"
  75.           knob.min=minv
  76.           knob.max=maxv
  77.           knob.value=defv
  78.           knob.default=defv
  79.          kg.1=hspace()
  80.  
  81.         call child("ng",label("Num button"))
  82.         call child("ng","nbg","group")
  83.          nbg.horiz=1
  84.          nbg.class="group"
  85.          nbg.0="nb"
  86.           nb.class="numericbutton"
  87.           nb.min=minv
  88.           nb.max=maxv
  89.           nb.value=defv
  90.          nbg.1=hspace()
  91.  
  92.         call child("ng",label("_Slider"))
  93.         call child("ng","sl","slider")
  94.          sl.controlChar="s"
  95.          sl.min=minv
  96.          sl.max=maxv
  97.          sl.level=defv
  98.          sl.format="Value: %lx"
  99.  
  100.         call child("ng",label("Gauge"))
  101.         call child("ng","gg","group")
  102.           gg.0="gauge"
  103.            gauge.class="gauge"
  104.            gauge.frame="text"
  105.            gauge.FixHeightTxt="\n\n"
  106.            gauge.horiz=1
  107.            gauge.max=maxv
  108.            gauge.current=defv
  109.           gg.1=MakeObj(,"scale")
  110.  
  111.         call child("ng",label("Prop"))
  112.         call child("ng","prop","prop")
  113.            prop.frame="text"
  114.            prop.FixHeightTxt="\n\n"
  115.            prop.horiz=1
  116.            prop.entries=maxv
  117.            prop.first=0
  118.            prop.visible=defv
  119.  
  120.       mgroup.1="bg"
  121.        bg.class="group"
  122.        bg.horiz=1
  123.         bg.0=button("reset","_Reset")
  124.         bg.1=button("inc","_Increase")
  125.         bg.2=button("dec","_Decrease")
  126.  
  127.     call NewObj("APPLICATION","APP")
  128.  
  129.     call notify("knob","value","everytime","app","set","num1","triggervalue")
  130.  
  131.     call Notify("mwin","closerequest",1,"app","returnid","quit")
  132.  
  133.     call notify("knob","value","everytime","nb","set","value","triggervalue")
  134.     call notify("nb","value","everytime","sl","set","value","triggervalue")
  135.     call notify("sl","value","everytime","levelmeter","set","value","triggervalue")
  136.     call notify("levelmeter","value","everytime","knob","set","value","triggervalue")
  137.  
  138.     call notify("knob","value","everytime","gauge","set","current","triggervalue")
  139.  
  140.     call notify("knob","value","everytime","prop","set","visible","triggervalue")
  141.  
  142.     call notify("reset","pressed",0,"knob","setdefault")
  143.     call notify("inc","pressed",0,"knob","increase",1)
  144.     call notify("dec","pressed",0,"knob","decrease",1)
  145.  
  146.     call set("mwin","open",1)
  147.  
  148.     return
  149. /***********************************************************************/
  150. halt:
  151. break_c:
  152.     exit
  153. /**************************************************************************/
  154.